package com.bifang.module.file.common.vo;

import com.bifang.assistant.common.constants.Validators;
import com.bifang.assistant.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@Data
public class FileClassEditVO extends BaseVO {

    @Schema(title = "文件分类编号")
    @NotBlank(groups = {Validators.Edit.class},message = "文件分类编号不能为空")
    private String fileClassCode;

    @Schema(title = "分类标题")
    @NotBlank(groups = {Validators.Add.class,Validators.Edit.class},message = "分类标题不能为空")
    private String classTitle;

    @Schema(title = "父类编号")
    private String parentCode;

    @Schema(title = "文件环境主键")
    @NotNull(groups = {Validators.Add.class,Validators.Edit.class},message = "文件环境不能为空")
    private Long fileEnvId;

    @Schema(title = "文件环境名称")
    private String fileEnvName;

    @Schema(title = "有效状态 0 无效 1有效")
    @NotBlank(groups = {Validators.Add.class,Validators.Edit.class},message = "有效状态不能为空")
    private String status;

    @Schema(title = "对应档案分类编号")
    private String archivesClassCode;

    @Schema(title = "是否需要归档 0 不需要 1需要")
    @NotBlank(groups = {Validators.Add.class,Validators.Edit.class},message = "是否需要归档不能为空")
    private String fielderShow;

    @Schema(title = "组织id")
    private String orgId;

    @Schema(title = "组织名称")
    private String orgName;

    @Schema(title = "文件存放路径")
    private String fileClassPath;

    @Schema(title = "是否加密，0 否 1 是")
    private String encryptionFlag;

    @Schema(title = "文件大小限制")
    private Long maxSize;

    @Schema(title = "文件类型限制")
    private String fileType;

    @Schema(title = "默认访问过期时间，单位秒")
    private BigDecimal expireTime;

    @Schema(title = "预留字段1")
    private String classParam1;

    @Schema(title = "预留字段2")
    private String classParam2;

    @Schema(title = "备注")
    private String remarks;


    @Schema(title = "保密级别")
    private String secrecyLevel;

    @Schema(name = "tableName",description = "保存的表名")
    private String tableName;
}
